<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>算术运算符</title>
    <script>
        /*
        在JS中，可以对数字以外的类型的值进行算数运算
            在对非数字的值进行算术运算时，JS引擎会先将其转换为数值，然后再运算.
            任何值和NaN，运算结果都是NaN
            特殊情况：任意值和字符串做加法时，会先将其转换为字符串，然后对字符串进行拼串的操作
        */
        var a = true + false;   //1+0-->1 Number
            a = '100' - 3;      //100-3-->97 Number
            a = 33 * null;      //33*0-->0 Number
            a = 33 + undefined; //33+NaN-->NaN Number
            a = '123' + '456';  //'123456' String
            a = '1' + 2 + 3;    //'123' String
            a = 'hello' + 123;  //'hello123 String
            a = NaN + '123';    //'NaN123' String
        console.log(a, typeof a);

    </script>

</head>
<body>

</body>
</html>